#include "../SQLiteDBManager.h"
#include <cstdio>
#include <cstdlib>
#include <iostream>

sqlite3* SQLiteDBManager::conexao = NULL;
string SQLiteDBManager::database = "data.sqlite";

sqlite3* SQLiteDBManager::getConnection() {

    string comando;

    if (SQLiteDBManager::conexao == NULL) {

        if(sqlite3_open(SQLiteDBManager::database.c_str(), &SQLiteDBManager::conexao) != SQLITE_OK){
            fprintf(stderr, "Banco de dados não pode ser aberto: %s\n", sqlite3_errmsg(SQLiteDBManager::conexao));
            sqlite3_close(SQLiteDBManager::conexao);
            exit(1);
        }
    }

    return SQLiteDBManager::conexao;
}

void SQLiteDBManager::query(string comando) throw(DBException) {

    if(sqlite3_exec(SQLiteDBManager::conexao, comando.c_str(), 0, 0, 0) != SQLITE_OK)
    {
        throw DBException("Err. Database: Incapaz de efetuar consulta.");
    }
}

void SQLiteDBManager::close() {
    sqlite3_close(SQLiteDBManager::conexao);
    SQLiteDBManager::conexao = NULL;
}

